package com.yss.reportworld.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yss.common.core.domain.TreeNode;
import com.yss.reportworld.domain.rule.RCheckType;

import java.util.List;
import java.util.Map;

/**
 * 规则校验_规则分类Service接口
 *
 * @author yss
 * @date 2023-07-25
 */
public interface IRCheckTypeService extends IService<RCheckType> {

    /**
     * 查询规则校验_规则分类列表
     *
     * @param rCheckType 规则校验_规则分类
     * @return 规则校验_规则分类集合
     */
    public List<RCheckType> selectRCheckTypeList(RCheckType rCheckType);


    /**
     * 检验规则的树结构信息
     *
     * @return 检验规则树信息集合
     */
    public List<TreeNode> selectRCheckTypeTreeList();

    /**
     * 获取一个最明细规则的上级规则类型名称拼接到一起，导出EXECl使用
     *
     * @return
     */
    public Map<String, String> getRuleTypeName();

    /**
     * 递归查询所有下级ID集合
     *
     * @param id
     * @return
     * @throws Exception
     */
    public List<String> queryRCheckTypeIds(String id);
}
